1. Technical Field
This invention relates to the field of memory modules. More specifically, the invention relates to an interface that allows testing and using in-line memory modules in computer systems not designed for the modules.
2. Background Art
All computer systems use some type of volatile memory that only maintains its contents when the computer system is on. To maintain flexibility and allow memory to be upgraded, changed, or added, most memory comes on cards. These cards then are connected to the computer system through connectors. A popular version of these types of cards are called xe2x80x9cIn-Line Memory Modulesxe2x80x9d (IMMs). These IMMs are thin cards that have a male edge connector. The edge connector has a number of copper runs on both sides, and the copper runs are connected to lines, which are in turn connected to the memory chips and other necessary chips on the IMM. The edge connector fits into a female socket that has corresponding copper runs or tabs that match with and connect to the copper tabs on the IMM.
With this type of memory system, memory may easily be added, removed, or changed. Nonetheless, there are times when a memory module cannot be used or tested in particular computer systems.
What is needed is a device that allows memory modules that cannot be used in particular computer systems to be used in those systems.
Before proceeding to a discussion of the current invention, a more detailed discussion of the problem is beneficial. As is known in the art, many In-Line Memory Modules (IMMs) contain Serial Presence Detect (SPD) modules. In particular, Dual IMMs (DIMMs) contain SPD modules, as do Small Outline DIMMs (SODIMMs). These SPD devices contain a variety of configuration information that allow the computer system to determine how large the memory module is, how fast the memory is, etc.
Laptops and other small computers generally use IMMs that are slightly different than normal IMMs used in, for example, personal computers, servers, or workstations.
Because the latter are generally in large boxes where space is only a minor consideration, the physical size of memory can be relatively large. For laptops, on the other hand, the physical size of the memory is very important, as there is limited space in a laptop. Consequently, IMMs for laptops and other computers (such as hand-helds) are smaller than are IMMs for xe2x80x9clargexe2x80x9d computers. For example, DIMMs are very popular for personal computers, workstations, and servers. The equivalent memory for laptops is a smaller version of DIMMs, called SODIMMs. These SODIMMs also have less copper tabs (144 instead of 168 on the DIMMs) and thus require a smaller memory expansion slot.
Another difference between large and small computer systems is the number of motherboard memory module connections. In general, a large computer will have several expansion slots for IMMs. These slots are commonly labeled xe2x80x9cSlot 0xe2x80x9d, xe2x80x9cSlot 1xe2x80x9d, etc. To accommodate these extra slots, large computers will assign different addresses to the SPD device on each IMM. To do this, the address lines for the SPD device are tied to a combination of ground or power prior to where the address lines connect to the IMMs.
Small computers, on the other hand, have only one or at most two motherboard memory module connections. Accordingly, the address lines to the SPD on each IMM are tied to a constant voltage line, normally ground.
A problem occurs when the IMMs for small computers, such as SODIMMs, arrive before the portable computer arrives. Because the design of laptop and other small computers tend to lag larger computer design, the IMMs for small computers arrive before the small computers themselves arrive. This means that there are no actual computer systems with which to test the new IMMs, as the smaller IMMs do not fit into the memory slots for the larger computers. For instance, 133 Megahertz (MHz) computer memory is currently available for laptops, but there are few or no laptops that support this speed of memory. Although there are test systems that allow the memory to be tested, test system timing is normally different than real computer system timing. Because of this, it is beneficial to test the cards in an actual computer system environment.
Even if one could create an interposer card that allows the SODIMMs to fit into the interposer and then into the DIMM slot, a SODIMM would only work in Slot 0 because the addresses on the SODIMM for the SPD are grounded. When the large computer first starts up, it tries to determine if the memory slots have memory in them. The computer system communicates with each SPD device on each DIMM in each slot. Essentially, the Basic Input Output System (BIOS) causes the processor to attempt to communicate with the SPD devices through a serial connection to which each device is connected. The processor sends a series of bits to the SPD devices over the serial connection, and the series of bits contains an SPD address. As stated previously, each SPD device should have a different address. The processor will search an SPD device at one of the addresses by sending out a command for one of the addresses, and then waiting for a response.
If the computer receives an appropriate answer from a DIMM, it knows that the slot contains a memory module. Then the computer will go about reading configuration information from the SPD to enable the computer to properly access the memory. If, however, the computer system does not receive a proper response, then the computer system will assume that this slot does not contain a memory module. When the computer system would access the SPD on the SODIMM (on the interposer) in a slot other than Slot 0, the SPD will respond, essentially, that it is in Slot 0. This response occurs because all of its SPD address pins are grounded, which indicates that it is in slot zero. Thus, even if an interposer could be developed to allow SODIMMs to be placed in a DIMM slot, this interface could only be placed in Slot 0. When an engineer goes to test hundreds of SODIMMs, this limitation seriously impedes how quickly the testing can be performed.
To overcome these problems, the current invention provides an interface that allows testing and using in-line memory modules in computer systems not designed for the modules. In particular, an interface of the present invention comprises an interposer card that fits into a motherboard memory module connection of a computer system. The interposer card also has a motherboard memory module connection system into which a memory module fits. Additionally, the interposer card contains a detection device that describes the configuration of the memory module. This allows the computer system to properly access the memory module.
When used as part of a computer system, the interface allows memory modules to be tested by a memory diagnostics program. Moreover, the interface may be placed in any slot in the computer, even though the memory module itself only supports being placed in one particular slot.
Thus, the interface of the current invention allows memory modules to be tested and used in computers that do not normally support a particular form of memory module.
The foregoing and other features and advantages of the present invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.